clear
clear matrix
clear mata
program drop _all
set more off
set emptycells drop
set maxvar 100000
tempfile main
cap log close
log using AppendixE,replace

cd "<directory>"


*The code in this .do file reads in the dataset created in Data Cleaning Step 2.do and runs the regressions for Appendix C;
*Before the estimation commands are run, the quarter of the rule change is dropped;
*The "_m" suffixes in the outreg commands stipulate which DPO window the model corresponds to:;
*	_m1 = DPO[-4,-7];
*	_m2 = DPO[-5,-8];
*	_m3 = DPO[-6,-9];
*	_m4 = DPO[-7,-10];

/*********************************************************************************
*Note: The following block of code appears before every regression. This code identifies and drops observations that Stata will automatically drop in the course of the probit estimation. This code is optional and all the regressions can be run without it. However, using this code speeds up the estimation significantly, because Stata does not have to determine whether to drop these obervations as it goes through the estimation;
*	tempfile msayq
*	keep if !missing(transfer, post, dspp0_5t8, post_dspp0_5t8, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, ssid, origyq, msayq)
*	keep if dcountss_2==1
*	keep if yearmonth>=572 & yearmonth<=620
*	collapse (mean) transfer,by(msayq)
*	gen indic=1 if transfer==0
*	keep msayq indic
*	sa `msayq',replace
*	u `main',clear
*	merge m:1 msayq using `msayq'
*	drop if _merge==2
*	drop _merge
***********************************************************************************/


u final_dataset,clear
drop if distyq==198
sa `main',replace



u `main',clear
tempfile msayq
keep if !missing(transfer, post, dspp0_5t8, post_dspp0_5t8, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, ssid, origyq, msayq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer,by(msayq)
gen indic=1 if transfer==0
keep msayq indic
sa `msayq',replace
u `main',clear
merge m:1 msayq using `msayq'
drop if _merge==2
drop _merge


probit transfer dspp0_5t8 post_dspp0_5t8 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_5t8 post_dspp0_5t8 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m1 

probit transfer intxn3_dspp0_5t8_wl dspp0_5t8 treated_wl post_dspp0_5t8 post_treated_wl dspp0_5t8_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_5t8_wl dspp0_5t8 treated_wl post_dspp0_5t8 post_treated_wl dspp0_5t8_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m2

probit transfer intxn3_dspp0_5t8_dlq dspp0_5t8 treated_dlq post_dspp0_5t8 post_treated_dlq dspp0_5t8_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_5t8_dlq dspp0_5t8 treated_dlq post_dspp0_5t8 post_treated_dlq dspp0_5t8_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m3


u `main',clear
tempfile ssmsa
keep if !missing(transfer, post, dspp0_5t8, post_dspp0_5t8, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, origyq, ssmsa, distyq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_5t8 post_dspp0_5t8,by(ssmsa)
gen indic=1 if transfer==0
keep ssmsa indic
sa `ssmsa',replace
u `main',clear
merge m:1 ssmsa using `ssmsa'
drop if _merge==2
drop _merge



probit transfer dspp0_5t8 post_dspp0_5t8 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_5t8 post_dspp0_5t8 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m4

probit transfer intxn3_dspp0_5t8_wl dspp0_5t8 treated_wl post_dspp0_5t8 post_treated_wl dspp0_5t8_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_5t8_wl dspp0_5t8 treated_wl post_dspp0_5t8 post_treated_wl dspp0_5t8_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m5

probit transfer intxn3_dspp0_5t8_dlq dspp0_5t8 treated_dlq post_dspp0_5t8 post_treated_dlq dspp0_5t8_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_5t8_dlq dspp0_5t8 treated_dlq post_dspp0_5t8 post_treated_dlq dspp0_5t8_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m6

esttab m1 m2 m3 m4 m5 m6 using "marginaleffects_m2.csv",replace






u `main',clear
tempfile msayq
keep if !missing(transfer, post, dspp0_4t7, post_dspp0_4t7, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, ssid, origyq, msayq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_4t7 post_dspp0_4t7,by(msayq)
gen indic=1 if transfer==0
keep msayq indic
sa `msayq',replace
u `main',clear
merge m:1 msayq using `msayq'
drop if _merge==2
drop _merge

 
probit transfer dspp0_4t7 post_dspp0_4t7 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_4t7 post_dspp0_4t7 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m7 

probit transfer intxn3_dspp0_4t7_wl dspp0_4t7 treated_wl post_dspp0_4t7 post_treated_wl dspp0_4t7_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_4t7_wl dspp0_4t7 treated_wl post_dspp0_4t7 post_treated_wl dspp0_4t7_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m8

probit transfer intxn3_dspp0_4t7_dlq dspp0_4t7 treated_dlq post_dspp0_4t7 post_treated_dlq dspp0_4t7_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_4t7_dlq dspp0_4t7 treated_dlq post_dspp0_4t7 post_treated_dlq dspp0_4t7_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m9




u `main',clear
tempfile ssmsa
keep if !missing(transfer, post, dspp0_4t7, post_dspp0_4t7, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, origyq, ssmsa, distyq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_4t7 post_dspp0_4t7,by(ssmsa)
gen indic=1 if transfer==0
keep ssmsa indic
sa `ssmsa',replace
u `main',clear
merge m:1 ssmsa using `ssmsa'
drop if _merge==2
drop _merge


probit transfer dspp0_4t7 post_dspp0_4t7 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_4t7 post_dspp0_4t7 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m10 

probit transfer intxn3_dspp0_4t7_wl dspp0_4t7 treated_wl post_dspp0_4t7 post_treated_wl dspp0_4t7_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_4t7_wl dspp0_4t7 treated_wl post_dspp0_4t7 post_treated_wl dspp0_4t7_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m11

probit transfer intxn3_dspp0_4t7_dlq dspp0_4t7 treated_dlq post_dspp0_4t7 post_treated_dlq dspp0_4t7_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_4t7_dlq dspp0_4t7 treated_dlq post_dspp0_4t7 post_treated_dlq dspp0_4t7_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m12

esttab m7 m8 m9 m10 m11 m12 using "marginaleffects_m1.csv",replace




u `main',clear
tempfile msayq
keep if !missing(transfer, post, dspp0_6t9, post_dspp0_6t9, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, ssid, origyq, msayq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_6t9 post_dspp0_6t9,by(msayq)
gen indic=1 if transfer==0
keep msayq indic
sa `msayq',replace
u `main',clear
merge m:1 msayq using `msayq'
drop if _merge==2
drop _merge


probit transfer dspp0_6t9 post_dspp0_6t9 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_6t9 post_dspp0_6t9 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m13 

probit transfer intxn3_dspp0_6t9_wl dspp0_6t9 treated_wl post_dspp0_6t9 post_treated_wl dspp0_6t9_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_6t9_wl dspp0_6t9 treated_wl post_dspp0_6t9 post_treated_wl dspp0_6t9_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m14

probit transfer intxn3_dspp0_6t9_dlq dspp0_6t9 treated_dlq post_dspp0_6t9 post_treated_dlq dspp0_6t9_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_6t9_dlq dspp0_6t9 treated_dlq post_dspp0_6t9 post_treated_dlq dspp0_6t9_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m15






u `main',clear
tempfile ssmsa
keep if !missing(transfer, post, dspp0_6t9, post_dspp0_6t9, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, origyq, ssmsa, distyq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_6t9 post_dspp0_6t9,by(ssmsa)
gen indic=1 if transfer==0
keep ssmsa indic
sa `ssmsa',replace
u `main',clear
merge m:1 ssmsa using `ssmsa'
drop if _merge==2
drop _merge


 
probit transfer dspp0_6t9 post_dspp0_6t9 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_6t9 post_dspp0_6t9 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m16 

probit transfer intxn3_dspp0_6t9_wl dspp0_6t9 treated_wl post_dspp0_6t9 post_treated_wl dspp0_6t9_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_6t9_wl dspp0_6t9 treated_wl post_dspp0_6t9 post_treated_wl dspp0_6t9_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m17

probit transfer intxn3_dspp0_6t9_dlq dspp0_6t9 treated_dlq post_dspp0_6t9 post_treated_dlq dspp0_6t9_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_6t9_dlq dspp0_6t9 treated_dlq post_dspp0_6t9 post_treated_dlq dspp0_6t9_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m18

esttab m13 m14 m15 m16 m17 m18 using "marginaleffects_m3.csv",replace






u `main',clear
tempfile msayq
keep if !missing(transfer, post, dspp0_7t10, post_dspp0_7t10, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, ssid, origyq, msayq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_7t10 post_dspp0_7t10,by(msayq)
gen indic=1 if transfer==0
keep msayq indic
sa `msayq',replace
u `main',clear
merge m:1 msayq using `msayq'
drop if _merge==2
drop _merge


probit transfer dspp0_7t10 post_dspp0_7t10 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_7t10 post_dspp0_7t10 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m19

probit transfer intxn3_dspp0_7t10_wl dspp0_7t10 treated_wl post_dspp0_7t10 post_treated_wl dspp0_7t10_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_7t10_wl dspp0_7t10 treated_wl post_dspp0_7t10 post_treated_wl dspp0_7t10_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m20

probit transfer intxn3_dspp0_7t10_dlq dspp0_7t10 treated_dlq post_dspp0_7t10 post_treated_dlq dspp0_7t10_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssid i.origyq i.msayq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_7t10_dlq dspp0_7t10 treated_dlq post_dspp0_7t10 post_treated_dlq dspp0_7t10_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m21






u `main',clear
tempfile ssmsa
keep if !missing(transfer, post, dspp0_7t10, post_dspp0_7t10, orig_ltv, securwac, securocc, orig_dscrnoi2, age, balratio, ltv, occrate, dscrnoi, propid, dealtypeid, originatorid, origyq, ssmsa, distyq)
keep if dcountss_2==1
keep if yearmonth>=572 & yearmonth<=620
collapse (mean) transfer post dspp0_7t10 post_dspp0_7t10,by(ssmsa)
gen indic=1 if transfer==0
keep ssmsa indic
sa `ssmsa',replace
u `main',clear
merge m:1 ssmsa using `ssmsa'
drop if _merge==2
drop _merge



probit transfer dspp0_7t10 post_dspp0_7t10 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(dspp0_7t10 post_dspp0_7t10 orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m22

probit transfer intxn3_dspp0_7t10_wl dspp0_7t10 treated_wl post_dspp0_7t10 post_treated_wl dspp0_7t10_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1,cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_7t10_wl dspp0_7t10 treated_wl post_dspp0_7t10 post_treated_wl dspp0_7t10_treated_wl orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m23

probit transfer intxn3_dspp0_7t10_dlq dspp0_7t10 treated_dlq post_dspp0_7t10 post_treated_dlq dspp0_7t10_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi i.propid i.dealtypeid i.originatorid i.ssmsa i.origyq i.distyq if yearmonth>=572 & yearmonth<=620 & nouse2==0 & dcountss_2==1 & indic!=1 & maxdlqstcd_indicator==1, cluster(masterloanidtrepp)
eststo margin: margins, dydx(intxn3_dspp0_7t10_dlq dspp0_7t10 treated_dlq post_dspp0_7t10 post_treated_dlq dspp0_7t10_treated_dlq orig_ltv securwac securocc orig_dscrnoi2 age balratio ltv occrate dscrnoi) post
eststo m24

esttab m19 m20 m21 m22 m23 m24 using "marginaleffects_m4.csv",replace